Met XML kunt u de content van documenten coderen, ofte wel van een label voorzien. D.m.v. coderingen kunt u de verschillende onderdelen van documenten labelen. Hierdoor kunt u die gecodeerde inhoud weer op een heleboel andere manieren gebruiken, bijvoorbeeld op het World Wide Web.
Met avenue.quark heeft u een uniek stuk gereedschap ter beschikking waarmee u tekst en illustraties in QuarkXPress Passport-documenten kunt coderen. U kunt elementen handmatig van codes voorzien of gebruik maken van codeerregelsets die een deel van het coderingsproces automatiseren.
Met avenue.quark kunt u via het Archief-menu (Mac OS) of Bestand-menu (Windows) XML-documenten maken en openen. U kunt XML-documenten bewaren met behulp van de daarvoor bestemde knoppen in het XML Werkblad-palet.
Een XML-document maken
We gaan een nieuw XML-document maken:
1. Kies Archief (Mac OS) of Bestand (Windows) > Nieuw > XML, of druk op Command+Shift+X (Mac OS) of Ctrl+Shift+X (Windows). Het dialoogvenster Nieuw XML-document verschijnt.
Via het dialoogvenster Nieuw XML-document kunt u een nieuw XML-document maken.
2. Om het nieuwe XML-document te baseren op een XML-sjabloon, moet u in de Sjabloon-lijst een item kiezen. Wilt u een nieuw XML-document maken dat niet is gebaseerd op een sjabloon, klik dan onder DOCTYPE op Importeer, selecteer een DTD en kies vervolgens een rootelement in het venster-/uitrolmenu Rootelement.
Kijk voor meer informatie over XML-sjablonen bij "Werken met XML-sjablonen" verderop in dit hoofdstuk.
3. Als u het nieuwe XML-document baseert op een sjabloon en u bent van plan gebruik te maken van codeerregels, kies in het venster-/uitrolmenu Standaardset dan een standaardcodeerregelset.
4. Klik op OK. Het nieuwe XML-document verschijnt op uw scherm in een nieuw XML Werkblad-palet.
Bent u eenmaal klaar met deze stap, dan kunnen de DTD en het rootelement van het XML-document niet meer worden gewijzigd.
Standaard bevat een nieuw XML-document alleen die elementen die volgens de DTD op rootniveau verplicht zijn, plus eventuele verplichte kinderen van deze elementen. Indien de DTD vraagt om één lijst uit alle lijsten met niet-optionele elementen (bijvoorbeeld (a | b | c)), neemt avenue.quark het eerste element in de lijst (in dit geval dus a). Moet de DTD één lijst uit alle lijsten met elementen hebben en één of meer van deze elementen zijn optioneel (bijvoorbeeld (a | b | c?)), dan laat avenue.quark het ouderelement leeg.
Avenue.quark maakt alleen geldige XML-documenten (dat wil zeggen documenten die overeenkomen met hun DOCTYPE).
Als u een nieuw document wilt maken dat is gebaseerd op een XML-sjabloonbestand dat niet voorkomt in de "Templates"-map in uw QuarkXPress Passport-map, kies dan gewoon Archief (Mac OS) of Bestand (Windows) > Open en open het XML-sjabloon op die manier.
Een XML-document openen
In avenue.quark kunt u XML-documenten openen die zijn gemaakt door avenue.quark of elk ander geldig XML-document met zijn eigen DTD of dat verwijst naar een beschikbare DTD. We openen een XML-document in avenue.quark als volgt:
1. Kies Archief (Mac OS) of Bestand (Windows) > Open (Command+O onder Mac OS, Ctrl+O onder Windows).
2. Alleen voor Windows: Kies XML (*.xml) in het uitrolmenu Bestanden van type.
3. Gebruik de regelaars in het dialoogvenster om het document te zoeken dat u wilt openen; markeer vervolgens het document in de lijst.
Avenue.quark kan alleen XML-documenten openen met de bestandsextensie ".xml".
4. Klik op Open.
5. Als het XML-bestand is gegenereerd door avenue.quark, zal avenue.quark proberen het QuarkXPress Passport-document te openen waaruit de meest recente content afkomstig is. Indien avenue.quark het QuarkXPress Passport-document niet kan vinden, verschijnt een dialoogvenster waarin u wordt gevraagd het document te traceren. Kies dan het QuarkXPress Passport-bestand en klik op Open, of klik op Annuleer. (Het XML-bestand wordt toch geopend als u op Annuleer klikt.)
Als op uw scherm een "Fout in XML-document"-boodschap verschijnt, betekent dit dat het document dat u opent een fout bevat. "Fout in XML-document" wordt gevolgd door het type fout met vervolgens het regelnummer en kolomnummer (in die volgorde) waar het teken staat waar de fout is opgetreden.
6. Is het QuarkXPress Passport-document beschikbaar, dan vergelijkt avenue.quark de content in het document met de overeenkomstige content in het XML-document en stelt u op de hoogte van eventuele verschillen.
Avenue.quark ondersteunt de UTF-8-, UTF-16- (Unicode) en Shift-JIS-tekensets en voegt automatisch een tekensetspecificatie toe wanneer u een XML-bestand bewaart. Als een XML-bestand geen tekensetspecificatie heeft, gaat avenue.quark uit van de optie UTF-8. Raadpleeg voor meer informatie over tekensets Bijlage C "Alles over tekensets" in hoofdstuk 7 "Bijlagen".
Een XML-document bewaren
Met de daarvoor bestemde knoppen in het XML Werkblad-palet kunt u XML-documenten bewaren onder de huidige naam of onder een nieuwe naam.
Van links naar rechts: de knoppen Bewaar, Bewaar als en Vorige versie.
Via het dialoogvenster Bewaar als kunt u een XML-bestand een naam geven, aangeven of het bestand moet worden bewaard als een XML-document of als een avenue.quark-sjabloon en een tekenset specificeren.
Wanneer u een XML-document in avenue.quark bewaart, gebeuren er een paar dingen:
Een XML-sjabloon is een avenue.quark XML-document met een DTD, een rootelementspecificatie en een optionele standaardcodeerregelset. Een XML-sjabloon kan ook een "beginners"set met elementen, attributen, commentaar, verwerkingsinstructies, PCDATA-blokken en content bevatten. Het doel van XML-sjablonen is de gebruiker te vrijwaren van het steeds weer opnieuw dezelfde handelingen te laten uitvoeren bij het maken van een reeks XML-documenten die alle zijn gebaseerd op dezelfde DTD, hetzelfde rootelement en dezelfde codeerregelset.
Om te kunnen worden gebruikt in avenue.quark moeten XML-sjablonen worden opgeslagen in de "Templates"-map, die in dezelfde map staat als het programma QuarkXPress Passport. XML-sjablonen moeten een bestandsnaam hebben met als bestandsextensie ".xmt", zelfs onder Mac OS.
Een XML-sjabloon maken
We gaan als volgt een nieuw XML-sjabloon maken:
1. Kies Archief (Mac OS) of Bestand (Windows) > Nieuw > XML, of druk op Command+Shift+X (Mac OS) of Ctrl+Shift+X (Windows). Het dialoogvenster Nieuw XML-document verschijnt.
2. Als u het sjabloon wilt baseren op een ander sjabloon, selecteer dan de naam van het desbetreffende sjabloon in de Sjabloon-lijst en ga verder met stap 4.
Via het dialoogvenster Nieuw XML-document kunt u nieuwe XML-sjablonen maken.
3. Als u een volkomen nieuw sjabloon wilt maken, selecteer in de Sjabloon-lijst dan de optie Custom.xmt; klik onder DOCTYPE op Importeer en selecteer een DTD-bestand; kies vervolgens een rootelement in het venster-/uitrolmenu Rootelement.
4. Als u het nieuwe sjabloon baseert op een bestaand sjabloon en u bent van plan bij het coderen gebruik te maken van codeerregelsets, kies dan in het venster-/uitrolmenu Standaardset een standaardcodeerregelset.
5. Klik op OK. Het nieuwe XML-document verschijnt in een nieuw XML Werkblad-palet.
6. Voeg de elementen, attributen, commentaren, verwerkingsinstructies, PCDATA-blokken of content toe die u in het sjabloon wilt hebben.
7. Klik op de knop Bewaar als. Het dialoogvenster Bewaar als verschijnt.
Via het dialoogvenster Bewaar als kunt u een XML-bestand een naam geven, aangeven of het bestand moet worden bewaard als een XML-document of als een avenue.quark-sjabloon en een tekenset voor het bestand specificeren.
8. Voer in het veld Bewaar huidig XML-document als een naam in. Vergeet niet dat XML-sjablonen een bestandsnaam moeten hebben die eindigt op ".xmt", zelfs onder Mac OS.
9. Kies in het venster-/uitrolmenu Type de optie avenue.quark-sjabloon.
10. Kies in het venster-/uitrolmenu Tekenset een tekenset.
11. Als u in het dialoogvenster Nieuw XML-document wilt kunnen beschikken over het sjabloon, ga dan naar de "Templates"-map in uw QuarkXPress Passport-map. (Sjablonen die niet worden opgeslagen in de "Templates" map kunnen worden geopend door Archief (Mac OS) of Bestand (Windows) > Open te kiezen.)
12. Klik op Bewaar.
Sjablonen worden altijd bewaard als afzonderlijke documenten, omdat ze een DTD moeten hebben.
De hiërarchiek opgebouwde XML Tree in het XML Werkblad-palet vergemakkelijkt het bekijken van en werken met XML-documenten. Via een handig venster-/uitrolmenu kunt u op eenvoudige wijze elementen, commentaar, PCDATA-blokken en verwerkingsinstructies invoegen, verwijderen en vervangen.
Een element, commentaar, PCDATA-blok of verwerkingsinstructie invoegen of vervangen
U kunt een nieuw element, commentaar, PCDATA-blok of verwerkingsinstructie invoegen boven, onder of als een kind van het item dat is geselecteerd in de XML Tree-lijst (XML Werkblad-palet). U kunt het geselecteerde item ook vervangen door een ander item, mits de DTD dat toelaat. We gaan in het actieve XML-document een item invoegen of verwijderen en doen dit als volgt:
1. Ga naar het XML Werkblad-palet en selecteer een item in de XML Tree-lijst.
2. Control+klik (Mac OS) of rechts+klik (Windows) op het item om het venster-/uitrolmenu XML Tree te openen en kies vervolgens Kind invoegen, Verwant invoegen vóór, Verwant invoegen na of Vervangen. Er verschijnt een submenu.
Via het submenu voor de opdrachten Kind invoegen, Verwant invoegen vóór, Verwant invoegen na en Vervangen kunt u kiezen welk soort element u wilt invoegen of vervangen.
3. Als u een element, commentaar, verwerkingsinstructie of PCDATA-blok wilt invoegen of vervangen zonder een preview, kiest u dat gewoon in het submenu.
4. Als u vóór het invoegen of vervangen toch graag een preview wilt zien, kiest kies vervolgens Kind invoegen, Verwant invoegen vóór of Verwant invoegen na.
Het dialoogvenster Verwant invoegen vóór.
De Items-lijst toont een lijst met items die kunnen worden ingevoegd c.q. vervangen. In de Preview XML Tree-lijst ziet u het geselecteerde item en alle verplichte kinderen (in zwart), in de context van de XML-boomstructuur (in grijs); u kunt dit beschouwen als een voorbeeld van hoe het document eruit zal zien na de wijziging. Als er tijdens het proces elementen moeten worden verwijderd, worden deze in rood en doorgestreept weergegeven. Klik op OK om het invoegen of de vervanging te voltooien of klik op Annuleer om de handeling af te breken.
Sommige elementen hebben verplichte kinderen. Als u een dergelijk element gaat invoegen, moeten de verplichte kinderen ook worden ingevoegd. Door op het
- (Mac OS) of
-symbool (Windows) van een element te klikken, verschijnen alle kindelementen die samen met dat element moeten worden ingevoegd. Door te klikken op dit symbool verschijnen niet de optionele kinderen die een element zou kunnen hebben.
Als een ingevoegd element één niet optioneel element uit een lijst met elementen nodig heeft (bijvoorbeeld (a | b | c)), neemt avenue.quark het eerste element in de lijst (in dit geval a). Indien het element één element uit een lijst met elementen nodig heeft en een of meer van deze elementen zijn optioneel (bijvoorbeeld (a | b | c?)), laat avenue.quark het element leeg.
Als het nieuwe element dat u nodig heeft niet beschikbaar is, betekent dit dat van de DTD geen nieuwe elementen van dat type op deze positie mogen worden ingevoegd.
Wat is een PCDATA-blok? Een PCDATA-blok is een avenue.quark-constructie waarmee u de tekst in een element kunt opdelen in afzonderlijke delen. PCDATA-blokken zijn alleen zichtbaar in avenue.quark; in het geëxporteerde XML-bestand worden opeenvolgende PCDATA-blokken samengevoegd.
Een element, commentaar, PCDATA-blok of verwerkingsinstructie verwijderen
Een element, commentaar, PCDATA-blok of verwerkingsinstructie worden als volgt verwijderd:
1. Ga naar het XML Werkblad-palet en selecteer een item in de XML Tree-lijst.
2. Control+klik (Mac OS) of rechts+klik (Windows) op het item om het venster-/uitrolmenu XML Tree te openen en kies vervolgens Wis. Het dialoogvenster Wis verschijnt.
Het dialoogvenster Wis.
Als het Wis-menu niet beschikbaar is, betekent dit dat de DTD niet toestaat dat het door u geselecteerde element wordt gewist.
In de Items-lijst ziet u het item dat wordt gewist. De Preview XML Tree-lijst toont hoe de XML-boomstructuur eruit zal zien als het element is gewist; items die worden gewist, worden in rood en doorgestreept weergegeven.
3. Klik op OK om het item te wissen of klik op Annuleer om de handeling af te breken.
Wanneer u met behulp van avenue.quark content gaat coderen, moet u gebruik maken van een DTD; zie "Werken met DTD's" in hoofdstuk 1 "De basisprincipes van avenue.quark". Het coderen van tekst is het proces van het leggen van relaties tussen de tekst en elementtypes in de daarbij horende DTD.
Er zijn verschillende manieren om in avenue.quark tekst te coderen. U kunt tekst handmatig coderen, óf automatisch aan de hand van een codeerregelset óf content handmatig invoeren.
Tekst handmatig coderen
Ga over op handmatige codering wanneer u precies in de hand wilt hou-den welke tekst bij welke elementen hoort. We gaan tekst uit het actieve QuarkXPress-document handmatig coderen en deze vervolgens kopiëren naar het actieve XML-document:
1. Blader in het QuarkXPress Passport-document naar de pagina met de tekst die u wilt coderen en selecteer vervolgens die tekst met het inhoudgereedschap E.
2. Ga naar het XML Werkblad-palet en blader door de XML Tree-lijst totdat u het element of het attribuut ziet waarmee u de tekstselectie wilt coderen. (Als u dat element of attribuut nog moet maken, kijk dan bij "Werken met elementen" verderop in dit hoofdstuk.)
Alleen attributen die zijn gespecificeerd als CDATA-attributen mogen worden gebruikt om tekst te coderen. Vaste en lege attributen mogen daarvoor niet worden gebruikt.
3. Klik en sleep de geselecteerde tekst op de element- of attribuutnaam in de XML Tree-lijst. De tekst wordt gekopieerd in het element of attribuut.
Indien het element of attribuut al tekst bevat, zal deze tekst worden vervangen.
4. Om te controleren of de content goed werd gecodeerd, selecteert u het element in de XML Tree-lijst; de tekst in het element of attribuut wordt weergegeven in het Content-veld.
Als u tekst sleept naar een NMTOKENS- of IDREFS-attribuut, worden spaties in die tekst geïnterpreteerd als scheidingstekens tussen items in een lijst met NMTOKEN's of IDREF's.
Tekst coderen met codeerregelsets
Met codeerregelsets kunt u een deel van het coderen van tekst en illustraties automatiseren. Hiertoe moet u een zogenaamde codeerregelset maken (zie hoofdstuk 5 " Codeerregelsets"), en vervolgens met behulp van deze set een deel van het coderingsproces automatiseren.
Om tekst uit het actieve QuarkXPress Passport-document te coderen met behulp van codeerregelsets en deze te plaatsen in het actieve XML-document moet u het volgende doen:
1. Ga naar het XML Werkblad-palet en kies daar een codeerregelset in het venster-/uitrolmenu Codeerregelset.
2. Blader in de XML Tree-lijst naar het element dat u wilt coderen met behulp van een codeerregelset. Om ervoor te zorgen dat dit werkt, moet in de geselecteerde codeerregelset minstens één codeerregel voor dit element of zijn kinderen staan.
3. Selecteer een tekstreeks met behulp van het inhoudgereedschap E of een tekstkader met behulp van het verplaatsgereedschap e.
4. Druk op Command (Mac OS) of Ctrl (Windows), klik en sleep de geselecteerde tekst of het tekstkader vervolgens op de elementnaam in de XML Tree-lijst. De tekst wordt gekopieerd naar het XML-document in overeenstemming met de codeerregels in de geselecteerde codeerregelset. Avenue.quark voegt net zoveel elementen aan het XML-document toe als nodig is om de gecodeerde content een plaatsje te geven. Als er van een onduidelijke code sprake is, opent avenue.quark een dialoogvenster waarin u wordt gevraagd wat u nu wilt gaan doen.
5. Om te controleren of de content goed werd gecodeerd, selecteert u alle elementen in de XML Tree-lijst; de tekst in het element wordt weergegeven in het Content-veld.
6. Om te controleren of avenue.quark alle tekst heeft gecodeerd die moest worden gecodeerd, kiest u in het Functies-menu de opdracht Toon gecodeerde content. Gecodeerde en niet gecodeerde tekst en illustraties worden weergegeven in de kleuren die zijn gedefinieerd in het dialoogvenster avenue.quark Voorkeuren (Wijzig (Mac OS) of Bewerk (Windows) > Voorkeuren > avenue.quark).
De opdracht Toon gecodeerde content werkt alleen in QuarkXPress Passport 4.1 of hogere versie.
Gecodeerde tekst bewerken
Heeft u eenmaal tekst in een QuarkXPress Passport-document gecodeerd, dan kunt u die tekst bewerken in het QuarkXPress Passport-document, waarbij u zult zien dat deze wijzigingen automatisch worden doorgevoerd in het XML Werkblad-palet. Als het XML-document nog niet is geopend, wordt de tekst bijgewerkt zodra beide documenten worden geopend.
Automatische contentupdate werkt alleen bij elementen en niet bij attributen.
Als u de koppeling tussen een QuarkXPress Passport-document en een element in het actieve QuarkXPress Passport-document wilt verbreken, kunt u het element of attribuut selecteren in de XML Tree-lijst en vervolgens klikken op de knop Verbreek dynamische koppeling.
Met de knop Verbreek dynamische koppeling kunt u de koppeling verwijderen tussen het element dat is geselecteerd in de XML Tree-lijst en het QuarkXPress Passport-document waaruit het afkomstig is.
Om illustraties in het actieve QuarkXPress Passport-document te coderen en hun bestandsnamen te kopiëren naar het actieve XML-document moet u het volgende doen:
1. Blader in het QuarkXPress Passport-document naar de pagina met de illustratie die u wilt coderen en selecteer vervolgens het illustratiekader.
2. Ga naar het XML Werkblad-palet en blader in de XML Tree-lijst naar het element of attribuut waarmee u de geselecteerde illustratie wilt coderen. (Als u dat element of attribuut nog moet maken, kijk dan bij "Werken met XML-documentcontent" in dit hoofdstuk.)
Alleen attributen die zijn gespecificeerd als CDATA-attributen mogen worden gebruikt om illustraties te coderen. Vaste en lege attributen kunnen daarvoor niet worden gebruikt.
3. Druk op Command (Mac OS) of Ctrl (Windows) en klik en sleep vervolgens de geselecteerde illustratie op de element- of attribuutnaam in de XML Tree-lijst. De naam van de illustratie wordt gekopieerd in het geselecteerde element of attribuut.
Indien het doelelement of doelattribuut al een naam bevat, wordt de oude naam altijd vervangen door de nieuwe naam.
Naast het kopiëren van content vanuit een QuarkXPress Passport-document, kunt u met avenue.quark extra content toevoegen door deze rechtstreeks in het XML-document in te voeren. Om aan een leeg element, attribuut of commentaar in het actieve XML-document nieuwe content toe te voegen, moet u het volgende doen:
1. Selecteer in de XML Tree-lijst het element, attribuut of commentaar waaraan u content wilt toevoegen. (Als u deze nog moet maken, kijk dan bij "Werken met XML-documentcontent" in dit hoofdstuk.)
Attributen kunnen alleen handmatig toegevoegde content bevatten als ze zijn gespecificeerd als CDATA-attributen. Vaste en lege attributen kunnen geen handmatig ingevoerde content bevatten.
2. Voer de content in het Content-veld in.
U kunt ook content vanuit het Klembord inplakken in het Content-veld. N.B.: Dergelijke tekst verliest wel alle vormgeving en wordt ingeplakt als gewone ASCII-tekst.
3. Om aan te geven dat u klaar bent met het bewerken van het geselecteerde element, drukt u op de Tab-toets.
U kunt alleen handmatig content toevoegen aan elementen waarin nog geen content uit een QuarkXPress Passport-document staat. Als een element content van een QuarkXPress Passport-document bevat, bewerk die content dan in het QuarkXPress Passport-document; de kopie daarvan in het XML-document wordt automatisch geupdate.
Is uw content eenmaal naar wens gecodeerd, dan kunt u even kijken hoe deze eruit zal zien wanneer hij wordt bewaard als XML-bestand. Om het XML-document dat wordt getoond in het actieve XML Werkblad-palet van tevoren te bekijken, klikt u op de knop XML preview. Het dialoogvenster XML preview verschijnt.
De knop XML preview.
Via het dialoogvenster XML preview kunt u het XML-document bekijken dat wordt gemaakt wanneer u het actieve XML-document bewaart.
U kunt tekst vanuit het dialoogvenster XML preview kopiëren, maar u kunt deze niet bewerken of verwijderen.
Hoewel speciale tekens in ASCII (de lettertekens boven ASCII 127) in het dialoogvenster XML preview ongewijzigd worden weergegeven, werden dergelijke tekens tijdens het exporteren omgezet in de juiste codes, een en ander afhankelijk van de tekenset die u in het dialoogvenster Bewaar als heeft gekozen.